#ifndef CASES_H
#   define CASES_H



/**
 * \struct case_constante cases.h
 *
 * Element de decor indestructible
 */
struct case_constante
{
    /*
     * le relief permet de gerer les colisions et les deplacements.
     * Utiliser les constantes definies dans constantes_et_macros.h
     * pour plus de lisiblite
     */
    unsigned char relief;
    unsigned int id_tuile;
};




/**
 * \struct case_destructible cases.h
 *
 * Element de decor destructible
 *
 * REMARQUE : toutes les cases destructibles sont du relief positif
 *            (difficile de detruire un trou...)
 */
struct case_destructible
{
    /**
     * une case destructible a des points de vie, mais ils ne sont pas
     * geres de la meme maniere que ceux des organismes vivants.
     * Une case destructible perd un pv par attaque, quelles que
     * soient la nature et la puissance de l'attaque en question
     */
    unsigned char pv_case;
    unsigned int id_tuile;
    /**
     * Lorsqu'un element est detruit, tous les elements du meme groupe sont
     * egalement detruits. Le numero de groupe 0 indique un degroupage : les
     * elements sont alors independants.
     */
    unsigned int groupe;
};


/**
 * \struct tab_dyn_cases_constantes cases.h
 *
 * Structure repertoriant les differents types de cases indestructibles
 * que l'ont peut trouver dans la zone
 */
struct tab_dyn_cases_constantes
{
    struct case_constante* tab;
    unsigned int nb_elements;
};



#endif /* CASES_H */
